编写一个程序,将输入字符串中的字符按如下规则排序。
规则 1 :英文字母从 A 到 Z 排列,不区分大小写。
如,输入: Type 输出: epTy
规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。
如,输入: BabA 输出: aABb
规则 3 :非英文字母的其它字符保持原来的位置。
如,输入: By?e 输出: Be?y
数据范围:输入的字符串长度满足
编写一个程序,将输入字符串中的字符按如下规则排序。
规则 1 :英文字母从 A 到 Z 排列,不区分大小写。
如,输入: Type 输出: epTy
规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。
如,输入: BabA 输出: aABb
规则 3 :非英文字母的其它字符保持原来的位置。
输入字符串
输出字符串
A Famous Saying: Much Ado About Nothing (2012/8).
A aaAAbc dFgghh: iimM nNn oooos Sttuuuy (2012/8).
const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () => (await iter.next()).value; void async function () { // Write your code here const args = []; let time = 1; while (line = await readline()) { time--; args.push(line); if (time === 0) { break; } } let [str] = args; let word = str.match(/[a-z]/gi).sort((a,b) => { return a.toUpperCase().charCodeAt() - b.toUpperCase().charCodeAt() }).join(""); let output = ""; let wordIndex = 0; for(var i=0;i<str.length;i++){ if(/[a-z]/i.test(str[i])){ output += word[wordIndex]; wordIndex++; }else{ output += str[i]; } } console.log(output) }()
const line = readline(); let sorted = new Array(26).fill(''),aCode = 'a'.charCodeAt(0),ACode='A'.charCodeAt(0); for(let s of line){ const sCode = s.charCodeAt(0); if(/[a-z]/.test(s)){ sorted[sCode-aCode] +=s; }else if(/[A-Z]/.test(s)){ sorted[sCode-ACode] +=s; } } sorted=sorted.join('').split(''); for(let i=0;i<line.length;i++){ if(/[^a-zA-Z]+/.test(line[i])){ sorted.splice(i,0,line[i]); } } console.log(sorted.join(''))
var str = readline(); var match = str.match(/[a-zA-Z]/g); match.sort(function(a,b) { return a.toLowerCase() >= b.toLowerCase() ? 1 : -1 }) for(var i = 0; i < str.length; i++) { if(!/[a-zA-Z]/.test(str[i])) { match.splice(i,0,str[i]); } } console.log(match.join(''))
let line ='' while(line = readline()){ const reg = new RegExp(/[a-zA-Z]/) const str = line const list = str.split('').filter(item=>{ return reg.test(item) }).map(item=>item.toLowerCase()) // 求出整个字符串中出现的字母,并转化为小写之后去重 const strset = Array.from(new Set(list)).sort() const res = [] for(let i of strset){ for(let j in str){ if(str[j].toLowerCase().charCodeAt() == i.charCodeAt()){ res.push(str[j]) } } } for(let u in str){ if(!reg.test(str[u])){ res.splice(u,0,str[u]) } } console.log(res.join('')) }